1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEngine;
4
5 public enum AngleType {
6 CUSTOM,
7 _3D,
8 _2D,
9 }
10
11 public class SwitchAngle : MonoBehaviour {
12
13 public AngleType angleType; //using prefs manager to 2d or 3d TODO
14
15 [SerializeField]
16 private Vector3 p1CameraPos = new Vector3(-0.75f, 5.82f, -6.01f);
17 [SerializeField]
18 private Vector3 p1CameraRot = new Vector3(49.04f, 4.72f, 0);
19
20 [SerializeField]
21 private Vector3 p2CameraPos = new Vector3(0.75f, 5.82f, 6.01f);
22 [SerializeField]
23 private Vector3 p2CameraRot = new Vector3(49.04f, 184.72f, 0);
24
25
26 private Vector3 p1CameraPos3D = new Vector3(-0.75f, 5.82f, -6.01f);
27 private Vector3 p1CameraRot3D = new Vector3(49.04f, 4.72f, 0);
28 private Vector3 p2CameraPos3D = new Vector3(0.75f, 5.82f, 6.01f);
29 private Vector3 p2CameraRot3D = new Vector3(49.04f, 184.72f, 0);
30
31 private Vector3 p1CameraPos2D = new Vector3(-0.75f, 8, 0f);
32 private Vector3 p1CameraRot2D = new Vector3(90f, 0, 0);
33 private Vector3 p2CameraPos2D = new Vector3(-0.75f, 8, 0f);
34 private Vector3 p2CameraRot2D = new Vector3(90f, 180f, 0);
35
36 private Camera rotateCamera;
37
38 void LoadAngleType() {
39 switch (angleType) {
40 case AngleType._3D:
41 p1CameraPos = p1CameraPos3D;
42 p1CameraRot = p1CameraRot3D;
43 p2CameraPos = p2CameraPos3D;
44 p2CameraRot = p2CameraRot3D;
45 break;
46 case AngleType._2D:
47 p1CameraPos = p1CameraPos2D;
48 p1CameraRot = p1CameraRot2D;
49 p2CameraPos = p2CameraPos2D;
50 p2CameraRot = p2CameraRot2D;
51 break;
52 }
53
54 SetCameraPosRot(p1CameraPos,p1CameraRot);
55 }
56
57 void Awake() {
58
59 }
60
61 // Use this for initialization
62 void Start () {
63 int cameraView = PlayerPrefs.GetInt(GameManager.CAMERA_VIEW,0);
64 angleType = (cameraView == 1) ? AngleType._3D : AngleType._2D;
65 rotateCamera = GetComponent<Camera>();
66 LoadAngleType();
67 }
68
69 // Update is called once per frame
70 void Update () {
71
72 }
73
74 public void SwitchCamera(PlayerType playerType) {
75 switch (playerType) {
76 case PlayerType.P1:
77 SetCameraPosRot(p1CameraPos, p1CameraRot);
78 break;
79 case PlayerType.P2:
80 SetCameraPosRot(p2CameraPos, p2CameraRot);
81 break;
82 }
83 }
84
85 private void SetCameraPosRot(Vector3 pos, Vector3 rot) {
86 rotateCamera.transform.position = pos;
87 rotateCamera.transform.eulerAngles = rot;
88 }
89 }
public AngleType angleType; using prefs manager to 2d or 3d TODO
Use this for initialization
Update is called once per frame